<?php
/**
 * @author Miguel
 */

class LocalidadesController extends AppController{
    var $name='Localidades';
    var $uses=array('Localidad','Departamento','Provincia');
    var $helpers=array('Javascript','Ajax');
    var $paginate=array(
        'limit'=>'20',
        'order'=>array('Localidad.nombre_loc'=>'ASC','Departamento.nombre_dpto'=>'ASC','Departamento.provincia_id')
    );

    function listar(){
        $this->layout = 'sist_integral';
        $this->pageTitle = 'Sistema Integral';
        $condicion='((Localidad.nombre_loc<>\'--NINGUNA--\')AND(Departamento.nombre_dpto<>\'--NINGUNO--\'))';
        $localidades_tmp=$this->paginate('Localidad',$condicion);
        foreach($localidades_tmp as $tmp){
            $provincia=$this->Provincia->find('first',array(
                    'conditions'=>'Provincia.id='.$tmp['Departamento']['provincia_id']
                ));
            $localidades[]=$tmp+$provincia;
        }
            $this->set('localidades',$localidades);
    }

    function agregar(){
        $this->layout = 'sist_integral';
        $this->pageTitle = 'Sistema Integral';
        if (!empty($this->data)){
            if($this->Localidad->save($this->data)){
                $this->Session->setFlash('Operacion realizada correctamente.');
                $this->redirect(array('action'=>'listar'),null,true);
            }else{
                $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            }
        }
        $listadoProvincias = $this->Provincia->find('list',array(
                'fields'=>'nombre_prov',
                'order'=>'nombre_prov ASC'));
        $this->set('provincias', $listadoProvincias);
        $primera_prov = $this->Provincia->find(null,null,'nombre_prov ASC');
        $listadoDepartamentos = $this->Departamento->find('list',array(
                'fields'=>'nombre_dpto',
                'order'=>'nombre_dpto ASC',
                'conditions'=>'Departamento.provincia_id='.$primera_prov['Provincia']['id']));
        $this->set('departamentos', $listadoDepartamentos);
    }

    function editar($id=null){
        $this->layout = 'sist_integral';
        $this->pageTitle = 'Sistema Integral';
        $this->Localidad->id=$id;
        if(empty($this->data)){
            $this->data=$this->Localidad->read();
            $this->set('provincias', $this->Provincia->find('list',array(
                'fields'=>'nombre_prov',
                'order'=>'nombre_prov ASC')));
            $this->set('departamentos', $this->Departamento->find('list',array(
                'fields'=>'nombre_dpto',
                'order'=>'nombre_dpto ASC')));
        }else{
            if($this->Localidad->save($this->data)){
                $this->Session->setFlash('Operacion realizada correctamente.');
                $this->redirect(array('action'=>'listar'),null,true);
            }else{
                $this->Session->setFlash('Error: No se pudo realizar la operacion.');
                $this->redirect(array('action'=>'listar'),null,true);
            }
        }
    }

    function eliminar($id=null){
        if($this->Localidad->del($id)){
            $this->Session->setFlash('Operacion realizada correctamente.');
            $this->redirect(array('action'=>'listar'),null,true);
        }else{
            $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            $this->redirect(array('action'=>'listar'),null,true);
        }
    }

    function update_dpto(){
        if (!empty($this->data['Departamento']['provincia_id'])){
            $id_prov = $this->data['Departamento']['provincia_id'];
            $departamentos = $this->Departamento->find('list', array('fields'=>array('nombre_dpto'),'order'=>'nombre_dpto ASC','conditions'=>array('Departamento.provincia_id'=>$id_prov)));
        }else{
            $departamentos = $this->Departamento->find('list', array('fields'=>array('nombre_dpto'),'order'=>'nombre_dpto ASC'));
        }
        $this->set('options2', $departamentos);
        $this->render('/elements/update_dpto', 'ajax');
    }
}
?>